$(function () {
    /*
         '注册页面'实现逻辑：
            获取表单注册数据，验证准确性，若无误，向注册接口发送数据
    */
    //  全局变量    --  存储用户注册填写的表单数据
    var userRegData ;

    init();

    function init() {
        // 触发事件
        eventList();
    };

    // 绑定事件
    function eventList() {
        // 获取验证码按钮绑定点击事件
        $('#getCode').on('tap',function(){
            // 获取手机号
            var mobile = $("#phone").val().trim();

            // 验证手机准确性
            if(!checkPhone(mobile)){
                // 手机填写格式有误
                mui.toast("手机填写格式有误");
            }else {
                /* 手机号格式合法   */ 
                mui.toast("手机号合法");

                //发送请求获取验证码
                $.post('/users/get_reg_code',{mobile:mobile},function(result){
                    if(result.meta.status == 200){
                        console.log(result);
                        // 禁用获取验证码按钮
                        $('#getCode').attr("disabled","disabled");

                        // 初始化按钮显示的倒计时时间
                        var time = 60;

                        // 设置按钮显示
                        $('#getCode').text(time+'s后再获取');

                        // 设置定时器
                        var timer = setInterval(function(){
                            time--;
                            if(time == 0){
                                // 关闭定时器
                                clearInterval(timer);
                                // 重新开启获取按钮
                                $("#getCode").removeAttr('disabled');
                                // 重新设置按钮显示初始的内容
                                $('#getCode').text('获取验证码');
                            }else {
                                $('#getCode').text(time+'s后再获取');
                            };
                        },1000);
                    }else {
                        mui.toast(result.meta.msg);
                    };
                });
            };
        });

        // 注册按钮绑定点击事件
        // $("#reg_btn").on('tap',function(){})
        $("#reg_btn").on('tap',function(){
            // 依次获取更表单数据   --  有必要的需要验证
            var mobile_txt = $("#phone").val().trim();
            var code_txt = $("#code").val().trim();
            var email_txt = $('#email').val().trim();
            var pwd_txt = $('#pwd').val().trim();
            var rePwd_txt = $('#rePwd').val().trim();
            var gender_txt = $("[name='gender']:checked").val().trim();

            // 验证手机
            if(!checkPhone( mobile_txt)){
                mui.toast("手机不合法，请重新填写");
                return;
            };

            // 验证码验证   --  通常是后台验证
            if(code_txt.length != 4){
                mui.toast("验证码不正确");
                return;
            };

            // 邮箱验证
            if(!checkEmail(email_txt)){
                mui.toast("邮箱不正确");
                return;
            };

            // 密码验证
            if(pwd_txt.length < 6) {
                mui.toast("密码太简单，请重新设置");
                return;
            };

            // 再次确认密码验证
            if(rePwd_txt !== pwd_txt){
                mui.toast("两次输入密码不一致，请核对");
                return;
            };

            // 以上验证完，若均无误，则构造需向注册后台接口发送的参数
            userRegData = {
                mobile : mobile_txt,
                code : code_txt ,
                email : email_txt ,
                pwd : pwd_txt ,
                gender : gender_txt
            };

            // 发送请求
            $.post('/users/reg',userRegData,function(result){
                if(result.meta.status == 200){
                    console.log(result);
                    // 提示注册成功
                    mui.toast("恭喜你，已注册成功");

                    // 设置定时器   --  跳转到登录页面
                    setTimeout(function(){
                        // location.href = "login.html";
                    },1000);
                }else {
                    mui.toast(result.meta.msg);
                };
            });
        });

        // 登录按钮绑定点击事件
        $("#login_btn").on("tap",function(){
            location.href = "login.html";
        });
    };


    // 手机验证
    function checkPhone(phone) {
        if (!(/^1[34578]\d{9}$/.test(phone))) {
            return false;
        } else {
            return true;
        }
    };

    // 验证邮箱
    function checkEmail(myemail) {
        var myReg = /^[a-zA-Z0-9_-]+@([a-zA-Z0-9]+\.)+(com|cn|net|org)$/;
        if (myReg.test(myemail)) {
            return true;
        } else {
            return false;
        }
    };
})